home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / arcers / zv25.zip / ZV07.INC < prev    next >
Text File  |  1992-09-29  |  6KB  |  186 lines

  1. 'Compression file types from Dick Dennison
  2. 'Use with credit        Ci$ID - 74270,3636
  3.  
  4. 'zip file stuff
  5. TYPE central             'central directory record
  6.     sig AS LONG          'zip signature  &h02014b50
  7.     vers AS INTEGER      'version made by
  8.     extvers AS INTEGER   'version needed to extra
  9.     bitflag AS INTEGER   'general purpose bitflag
  10.     compmeth AS INTEGER  'compression method
  11.     modtime AS INTEGER   'packed time
  12.     moddate AS INTEGER   'packed date
  13.     CRC AS LONG          'crc 32 bit
  14.     compsize AS LONG     'compressed size
  15.     uncompsize AS LONG   'oldsize
  16.     namelen AS INTEGER   'file name length
  17.     extralen AS INTEGER  'extra field length
  18.     commentlen AS INTEGER'comment field length
  19.     disknum AS INTEGER   'disk number in this archive
  20.     infileattr AS INTEGER'int file attribute
  21.     extfileattr AS LONG  'ext file attribute
  22.     offsethead AS LONG   'offset of local header
  23. '    filename AS STRING * 12
  24. END TYPE
  25. 'filename variable len(cent.filenamelen)
  26. TYPE dirrec              'end of central directory record
  27.     sig AS LONG          'signature &h06054b50
  28.     disknum AS INTEGER
  29.     centdisknum AS INTEGER
  30.     direntthisdsk AS INTEGER
  31.     num AS INTEGER       'number of records on central dir
  32.     dirlen AS LONG       'size of central directory
  33.     offset AS LONG       'offset of central directory
  34.     commentlen AS INTEGER'length of zip comment
  35. END TYPE
  36. TYPE buftype
  37.     lin AS LONG          'buffer for signature comps
  38. END TYPE
  39.  
  40. 'lzh file stuff
  41. TYPE head1
  42.     hsz AS STRING * 1   'header size
  43.     CKS AS STRING * 1   '16 bit checksum
  44. END TYPE
  45.  
  46. TYPE Head2
  47.     mtd AS STRING * 5   'method
  48.     nsz AS LONG         'new size
  49.     osz AS LONG         'old size
  50.     tim AS INTEGER      'packed time
  51.     dat AS INTEGER      'packed date
  52.     ATR AS INTEGER      'file attribute
  53.     fnl AS STRING * 1   'file name length
  54. END TYPE
  55. TYPE head3
  56.     CRC AS INTEGER      'CRC
  57. END TYPE
  58.  
  59. 'arc file stuff
  60. TYPE header
  61.     arcid AS INTEGER         '1D
  62.     FileName AS STRING * 13  'filename
  63.     NewSize AS LONG          'size now
  64.     adate AS INTEGER         'packed date
  65.     atime AS INTEGER         'packed time
  66.     CRC AS INTEGER           'CRC
  67.     OldSize AS LONG          'uncompressed size
  68. END TYPE
  69.  
  70. 'zoo file stuff
  71. TYPE zoomaster              'master header at beginning of file
  72.     zoohead AS STRING * 20
  73.     zoosig AS STRING * 8    'DCA7C4FD  signature
  74.     zoo1ptr AS LONG
  75.     zooques AS LONG
  76.     zoomakver AS STRING * 1 'zoo version made by
  77.     zoominver AS STRING * 1 'minimum version needed to extract
  78. END TYPE
  79. TYPE zoofile                'file header
  80.     zoofsig AS STRING * 8   'DCA7C4FD  signature
  81.     zooftyp AS STRING * 1
  82.     zoofcmp AS STRING * 1   'compression method
  83.     zoofnxh AS LONG         'location of next header
  84.     zoofcur AS LONG
  85.     zoofdat AS INTEGER      'packed date
  86.     zooftim AS INTEGER      'packed time
  87.     zoofcrc AS INTEGER      'crc
  88.     zoofosz AS LONG         'old size
  89.     zoofnsz AS LONG         'new size
  90.     zoofmver AS STRING * 1
  91.     zoofmin AS STRING * 1
  92.     zoofdel AS STRING * 1
  93.     zoofcmtp AS LONG        'comment pointer
  94.     zoofcmtl AS INTEGER     'comment length
  95.     extra AS STRING * 1
  96.     zoofnam AS STRING * 13  'filename
  97. END TYPE
  98.  
  99. 'pak file stuff
  100. TYPE paktype
  101.     sig AS STRING * 1       '1 byte always 26
  102.     version AS STRING * 1   '1 byte) - type of compression used.
  103.     FileName AS STRING * 13 '(13 bytes)  - an ASCIIZ string.
  104.     size AS LONG            '(4 bytes) giving the current file size.
  105.     date AS INTEGER         '(2 bytes)   - packed date
  106.     time AS INTEGER         '(2 bytes)   - packed time
  107.     CRC AS INTEGER          '(2 bytes) the CRC checksum for the expanded file.
  108.     length AS LONG          '(4 bytes) - original length of file
  109. END TYPE
  110.  
  111. 'ARJ stuff
  112. TYPE arjheader
  113.    id AS INTEGER
  114.    HeadSz AS INTEGER
  115.    fhdsz AS STRING * 1
  116.    vers AS STRING * 1
  117.    mintoext AS STRING * 1
  118.    hostos AS STRING * 1
  119.    arjflags AS STRING * 1
  120.    meth AS STRING * 1
  121.    ftype AS STRING * 1
  122.    res AS STRING * 1
  123.    time AS INTEGER
  124.    date AS INTEGER
  125.    sizenow AS LONG
  126.    origsize AS LONG
  127.    origcrc AS LONG
  128.    spec AS INTEGER
  129.    faccess AS INTEGER
  130.    hostdata AS INTEGER
  131. END TYPE
  132.      'extradata as ?          
  133.      'fname AS STRING * ?     NULL terminated
  134.      'comment as string * ?
  135. TYPE arjextra
  136.    CRC AS LONG
  137.    exthead AS INTEGER
  138.    extcrc AS LONG
  139. END TYPE
  140.  
  141. 'Squeeze stuff
  142. TYPE Sqheader
  143.    sig AS STRING * 5
  144.    vers as string * 1
  145.    os AS STRING * 1
  146.    flag AS STRING * 1
  147. END TYPE
  148. TYPE Sqfheader
  149.     HeadSz AS STRING * 1
  150.     Alg AS STRING * 1
  151.     flag AS STRING * 1
  152.     NewSize AS LONG
  153.     OldSize AS LONG
  154.     Timef as integer
  155.     Datef AS integer
  156.     Attr AS STRING * 1
  157.     CRC AS LONG
  158. END TYPE
  159. 'filename len =  headsize - 20
  160.  
  161. 'Includes for ZV 20+   6/7/92
  162. DECLARE FUNCTION factor$ (comp&, uncomp&)
  163. DECLARE FUNCTION Long2str$ (numl&, length%)
  164. DECLARE FUNCTION linstr% (list$, char$)
  165. DECLARE FUNCTION Numfix$ (num%)
  166. DECLARE FUNCTION PadNum$ (num$, Places%)
  167. DECLARE FUNCTION guss$ (filestr$)
  168. DECLARE FUNCTION getdir$ ()
  169. DECLARE SUB cursor ()
  170. DECLARE SUB Setdta ()
  171. '=====================================
  172. TYPE RegTypeX
  173.      ax    AS INTEGER
  174.      bx    AS INTEGER
  175.      cx    AS INTEGER
  176.      dx    AS INTEGER
  177.      bp    AS INTEGER
  178.      si    AS INTEGER
  179.      di    AS INTEGER
  180.      flags AS INTEGER
  181.      ds    AS INTEGER
  182.      es    AS INTEGER
  183. END TYPE
  184. DECLARE SUB INTERRUPTX (intnum AS INTEGER, inreg AS RegTypeX, outreg AS RegTypeX)
  185.  
  186.